#ifndef GAS_DATA_H
#define GAS_DATA_H

#include <QtCore>

//可燃气体设备FlammableGas
class CGasData
{
public:
    bool IsCommNormal();
    bool IsCommFault();

    bool IsRunning();
    bool IsStopped();

    bool IsFault();
    bool IsNoFault();

    bool IsAlarm();
    bool IsNoAlarm();

    bool IsOpening();
    bool IsClosed();

    //获取***的显示文本
    QString GetCommStateText();

    void InitToInvalid();
    void InitToZero();
    void InitToValue(quint16 uvalue, float fvalue);

public:
    quint16 m_uCommState;           //7201 通讯状态 0--正常,1-故障
    quint16 m_uRev[99];
    float m_fRev[100];

    //转发的100个UINT16数据
    quint16 m_uRunState;            //7202 运行状态 0运行,1停止
    quint16 m_uFaultState;          //7203 故障状态 0正常,1故障
    quint16 m_uAlarmState;          //7204 告警状态 0空状态,1正常,2低报,3高报,4超限
    quint16 m_uSwitchState;         //7205 开关机状态 0已开机,1已关机

    quint16 m_uData[96];            //7206~7400 转发的UINT16数据:预留,数组数量=100-上面的转发数

    //转发的100个FLOAT数据
    float m_fDensity;               //7401 浓度
    float m_fData[99];              //7403~7799 转发的FLOAT数据:预留,数组数量=100-上面的转发数

    // 7201     7400	200	UINT16	200	读可燃气体的UNIT16数据	0x03/0x04	无	可燃气体数据
    // 7401     7800	400	FLOAT	200	读可燃气体的FLOAT数据	0x03/0x04	无
    // 22401	22600	200	UINT16	200	写可燃气体的数据	0x03/0x04	0x06

    //22401~22600 设置的数据:预留,数组数量=100-上面的设置数
    float m_fSetData[100];
    float m_fSetDataCopy[100];
    //上面100个浮点设置值
    //下面100个整形设置值
    quint16 m_uSetData[100];
    quint16 m_uSetDataCopy[100];
};

#endif //GAS_DATA_H
